package CalculDesSalaires;

import java.util.HashSet;

import CalculDesSalaires.impl.Employee;
import CalculDesSalaires.impl.Mentee;
import CalculDesSalaires.impl.Mentor;

/**
 * Interface dont le but est de représenter une entreprise, constituée de mentors qui gèrent une équipe de mentorés.
 * @author Tonio
 *
 */
public interface ICompany {

	/**
	 * La classe Company a deux méthodes addEmployee. 
	 * Une pour ajouter un employé à la liste des employés.
	 */
	void addEmployee(Employee employee);
	
	/**
	 * La classe Company a deux méthodes addEmployee. 
	 * Une autre pour ajouter un mentoré à la liste des employés et associer ce mentoré à un mentor. 
	 */
	void addEmployee(Mentee mentee, Mentor mentor);
	
	/**
	 * Méthode permettant l'affichage de l'ensemble des employés de la company.
	 */
	public void displayEmployees();
	
	/**
	 * Méthode parcourant la collection des employés.
	 * Appeleront des méthodes d'affichage des informations d'un employée.
	 */
	void displayEmployees(Employee employ);
	
	/**
	 * Méthode parcourant la collection des employés.
	 * Appeleront des méthodes d'écriture des informations d'un employée.
	 * Dans un fichier texte. 
	 * @param theFile
	 */
	void displayReport(String theFile);
	
	/**
	 * Méthode permettant de récupérer la liste de Mentee de la company.
	 * @return
	 */
	HashSet<Mentee> getListMentee();
}
